#include <iostream>
#include <vector>
#include <initializer_list>
#include <map>
#include <binders.h>

using namespace std;

class  Test
{
private:
    Test(int a):a(a)
    {
        d = new int;
    }
    //委托现有构造函数帮忙构造
    Test(int a, int b):Test(a)
    {
        this->b = b;
    }
    Test(int a, int b,int c):Test(a,b)
    {
        this->c = c;
    }

private:
    int a;
    int b;
    int c;
    int *d;
};

class  Derived:public Test
{
public:
    //继承父类的所有构造
    using Test::Test;
};


void Log(std::initializer_list<std::string> list)
{
    for(auto ite = list.begin(); ite != list.end(); ite++)
    {
        cout<<*ite<<" ";
    }
    cout<<endl;
}

int main()
{
   //std::bind
}